Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Const ALTERNATE = 1
Private Const WINDING = 2
Private Const RGN_AND = 1
Private Const RGN_COPY = 5
Private Const RGN_DIFF = 4
Private Const RGN_OR = 2
Private Const RGN_XOR = 3
Dim x, y
Private Type pt
X1 As Variant
Y1 As Variant
X2 As Variant
Y2 As Variant
X3 As Variant
Y3 As Variant
X4 As Variant
Y4 As Variant
End Type
Private Type POINTAPI
x As Long
y As Long
End Type
'Dim ptarray(3) As pt
'Dim store(3) As pt
Dim prgn(3) As POINTAPI 'rgn array
Dim temp, hrgn1, hrgn2, hrgn3 As Long 'handles to rgns